Notes:Temporal Relational Reasoning in Videos

Notes:Temporal Relational Reasoning in Videos

Notes:Temporal Relational Reasoning in Videos

Abstract:

时序关系推理能够关联物体随时间的变化,而时序关系推理是完成一些重要的视频识别任务的关键。
该文提出了一个被称为Temporal Relation Network(TRN)的网络模块,可以用来在多时间尺度上学习和推理时序关系。该文在Something-Something,Jester和Charades三个数据集做了实验,得到了SOTA的结果。TRN模块是一个可插拔的模块,可以基于常见的CNN架构,在Charades数据集上,采用TRN模块的网络比双流、3D卷积取得了更好的结果。

1. Introduction

该文一开始突出介绍了时序推理能力是智能决策的关键能力,具有时序推理的物种能够结合当下情形对过去和未来作出推理和预测。文章举了一个简单的例子说明人类具有这种时序推理能力,而常见的模型似乎很难学会。

image.png

人类很容易通过观察一件事情的始末状态,可以推理中间发生的过程,而对于普通的神经网络模型却有点困难。在CV领域视频的行为识别是一个核心的研究领域,一些常见的数据集例如UCF101,Sport1M和THUMOS等,包含许多人类行为,这些行为不需要通过长范围的时序推理就能够被识别出来(基于外观和光流等特征),例如常见的双流卷积网络和I3D等网络。

然而,当视频的长度有限以及某些需要通过物体的变换和时序关系而非外观来刻画的视频,这时候上述的那些网络往往不能够很好的工作。例如上面的图片的例子,每一组的两张图片在apperance差距不大,也很难仅仅根据外观来判断发生了什么,因此需要网络能够基于光流和图像里面物体的外观等因素,去发现一种视觉常识

TRN模块描述了视频采样的数帧之间的时序关系,且TRN能够学习和发现多尺度的时序关系。TRN是一个很容易被结合到现有的成熟的网络结构上,因此在使用上也是低成本的。

该文回顾总结了常见用于行为识别的方案,双流卷积、CNN+LSTM、3D卷积以及最近的I3D网络。然后该文基本上指出了这些网络结构常见的问题:

  • 双流网络基本就是光流的计算耗时,效率低下;
  • 3D卷积计算复杂度高,3D卷积在连续的图像帧上做卷积有些冗余;
  • 这些网络的输入通常是20到30帧,因此很难学习到长范围的时序关系;

为了解决这些问题,TRN稀疏采样帧,然后学习他们之间的因果关系,这相比于密集采样然后对他们做卷积运算要有效率得多。

下图是TRN对一个video的表示。

image.png

2. Temporal Relation Network

该文后续的实验表明:装配有TRN模块的网络能够发现可解释的视觉常识。

2.1 时序关系定义

pair-wise的时序关系定义如下:

image.png
其中输入是原始视频采样的有序帧的特征表示,例如一些CNN架构的某层的activation。函数和函数融合不同的pair-wise帧的时序关系,文章中提出的TRN仅仅使用了MLP来表示两个函数。另外,为了计算的有效性,文章中并没有全部计算采样的n个帧特征的pair-wise时序关系,而是随机选择(均匀采样)了个pair-wise关系来计算。


上面考虑的是2-frame的关系,其中还有3-frame,4-frame,……,n-frame的时序关系。
对于3-frame的时序关系:
image.png
以此类推计算其他d-frame的时序关系。

2.2 多尺度时序关系

为了捕获多尺度的时序关系,文章将上诉的d-frame的时序关系简单的组合起来。
image.png
每个时序关系项都表示了d张有序的frame的时序关系,其中每一个时序关系项都对应两个函数

2.3 采样规则

为了有效的训练,降低计算复杂度,文章提出了一个有效的采样策略。给定均匀采样的N帧,对于d-frame关系的计算,当时,直接计算。当时,则在所有可能的d-frame的排列中均匀选择个排列,按照公式计算,将其表示d-frame的时序关系。这样在给定张frame的情况下,可以计算个多尺度的时序关系。

3. 实验

因为文章想说明TRN模块的有效性,因此文章所有用来对比的模型均采用BN-Inception作为基础的CNN网络结构,唯一不同的就是是否使用TRN模块。文章的函数是一个每层256神经元的两层MLP,而则是一层MLP。文章设置k=3,d=8。文章和TSN模型在Something-V1和Something-V2数据集上做了对比,结果如下:


image.png


可以看出TRN模型确实outperform TSN模型,但是用single-frame作为base-line来对比说明TRN模型的有效性有点难以服众,毕竟base-line只利用了single frame的信息。

另外文章还在Jester和Charades上做了实验:

  • Jester数据集

image.png

  • Charades数据集

在该数据集上,TRN模型打败了2-stream卷积网络和C3D网络,以及最近的Asyn-chronous Temporal Field方法。

image.png

TRN中的可解释的视觉常识

TRN模块选择最能表示视频的帧(Representative Frame)

首先计算不同的视频帧排列的经过TRN模块的时序关系response,然后将这些response排序,选择最高response的视频帧排列。这些视频帧在TRN模块下,是该视频的表示帧。

image.png

视频的时序对齐

基于上面的representative frame,TRN可以用于对于同一个action类别的不同视频进行时序对齐。首先利用TRN找出这些representative frame的index作为该视频时序上的landmark,然后调整采样率,使得每一个视频同时到达每一个landmark。

image.png

时序对于行为识别的重要性

文章为了表明时序的重要性,在Something和UCF101数据集进行了一个对比实验,一组是按原始顺序输入视频帧,一组是shuffle顺序输入视频帧。结果比较有意思:在Something数据集上来看,原始顺序输入的实验结果明显好于shuffle顺序输入,而对于UCF101,视频帧的输入顺序对结果影响不大。

image.png

文章给出的解释是对于视频中持续的行为过程,时序关系对于UCF-101数据集的行为识别用处不大。为了进一步分析这种差异,文章画出了两种顺序输入后准确度有显著差异和没有显著差异的活动分类。

对于一些有很强的方向性的、大的动作,保留时序顺序对于准确识别行为类别是重要的,这也和我们的直觉相符,而对于一些看起来似乎静止的活动,例如“将一个不会滚动的球放在桌上”这个行为准确的识别不太需要motion,而是需要一些物品的co-occurence信息即可。

早期行为识别

文章认为TRN模块可以在给定少量的帧的情况下,利用帧之间的关系可以预测出该活动的类别。
这样在训练好模型后,在实际预测的时候,就可以在早期就给出行为类别的预测。
image.png

4. 结论

文章认为TRN可以让神经网络对视频的时序关系进行推理,并且在几个数据集上取得了competitive的效果。同时,通过一系列的分析,文章认为TRN发现了视频中的一些可解释的视觉常识。